dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
QUOTE1(sel2(X, Y)) -> SEL12(X, Y)
DBL11(s1(X)) -> DBL11(X)
QUOTE1(s1(X)) -> QUOTE1(X)
INDX2(cons2(X, Y), Z) -> SEL2(X, Z)
QUOTE1(dbl1(X)) -> DBL11(X)
DBLS1(cons2(X, Y)) -> DBL1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBLS1(Y)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
DBL1(s1(X)) -> DBL1(X)
FROM1(X) -> FROM1(s1(X))
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
QUOTE1(sel2(X, Y)) -> SEL12(X, Y)
DBL11(s1(X)) -> DBL11(X)
QUOTE1(s1(X)) -> QUOTE1(X)
INDX2(cons2(X, Y), Z) -> SEL2(X, Z)
QUOTE1(dbl1(X)) -> DBL11(X)
DBLS1(cons2(X, Y)) -> DBL1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBLS1(Y)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
DBL1(s1(X)) -> DBL1(X)
FROM1(X) -> FROM1(s1(X))
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
POL( cons2(x1, x2) ) = 3x2 + 3
POL( SEL12(x1, x2) ) = 3x2 + 2
POL( s1(x1) ) = max{0, -3}
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
DBL11(s1(X)) -> DBL11(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DBL11(s1(X)) -> DBL11(X)
POL( DBL11(x1) ) = 2x1 + 3
POL( s1(x1) ) = 3x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
QUOTE1(s1(X)) -> QUOTE1(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE1(s1(X)) -> QUOTE1(X)
POL( s1(x1) ) = 3x1 + 3
POL( QUOTE1(x1) ) = 2x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FROM1(X) -> FROM1(s1(X))
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
POL( cons2(x1, x2) ) = 3x2 + 3
POL( s1(x1) ) = max{0, -3}
POL( SEL2(x1, x2) ) = 3x2 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
POL( INDX2(x1, x2) ) = x1 + 3
POL( cons2(x1, x2) ) = 2x2 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
DBL1(s1(X)) -> DBL1(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DBL1(s1(X)) -> DBL1(X)
POL( s1(x1) ) = 3x1 + 3
POL( DBL1(x1) ) = 2x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
DBLS1(cons2(X, Y)) -> DBLS1(Y)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DBLS1(cons2(X, Y)) -> DBLS1(Y)
POL( DBLS1(x1) ) = 2x1 + 2
POL( cons2(x1, x2) ) = 3x1 + x2 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)